package cn.miju.dict.validate;

import javax.validation.Constraint;
import javax.validation.Payload;
import java.lang.annotation.*;

/**
 * <pre>
 * 字典值校验注解
 * 使用方式：
 * 1、自定义字典有效值区间-配置values
 * 2、缓存字典有效值区间-配置key
 * </pre>
 *
 * @author zhuming
 * @version 1.0.0
 * @since 2023-04-24 16:40
 */
@Target({ElementType.PARAMETER, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Constraint(validatedBy = DicValidator.class)
public @interface Dict {
    /**
     * 字典key
     */
    String key() default "";
    /**
     * 自定义有效值区间，用逗号隔开
     */
    String values() default "";
    /**
     * 校验不通过时的错误提示
     */
    String message() default "传入参数值不合法";

    Class<?>[] groups() default {};

    Class<? extends Payload>[] payload() default {};
}
